정글에 와드는 열심히 박으면서,
왜 서버 모니터링은 안하나요?
2023.12.07
왜 우리는 모니터링을 도입하지 못할까
- 개발하기도 바쁘다
- 대부분 재시작으로 해결되서
- 아직 문제가 발생하지 않아서
- 정확하지 않은 가용성 체크
- 잠재적 문제의 누적
- 팀 리더의 반대
모니터링의 중요성
- CS 문의로 이슈 발생시 서비스 상황 체크 X
성능 최적화
- 부하 지점 파악 후 최적화 가능
가용성 보장
- 지표 체크 후 연속성 보장 가능
안정성 유지
보안 강화
- 비정상적인 동작 확인 가능
초기 모니터링 도구 선택 기준
지표 알림 임계점 설정
평소 상황 + 10~20퍼 정도 더한 값에서 70퍼 이하를 임계값으로 지정
로그 모니터링의 중요성
로그 데이터의 이해
Log Level
- trace
- debug
- info
- warn
- error : 요청 처리시 발생한 오류 정보
- fatal : 종료 될정도로 치명적인 오류 정보
로그 관리 전략
- 시간, 로그 레벨 포함하여 기록
- 특정 기간 이후 자동 삭제되도록 지정
- 에러코드와 메시지 공통화
- 에러/ 비즈니스 히스토리 위주로 기록
보안 위협 감지
상품 크롤링 감지
- 동일 IP의 반복 호출 차단
- 비정상적인 접근에 대한 네트워크(인프라) 비용 감소 및 레이턴시 감소
- 기업 데이터 보안 증대
- BM 보호
서비스간 호출관계 파악
- 누가(어떤 서비스) 접근했는지 파악 가능
- 각 마이크로 서비스에서의 Dependency Trace 가능
개발자가 수정한 히스토리 파악
- 서비스의 동작을 추적할 수 있는 기본적인 환경
모니터링 시스템 아키텍쳐 - 프로젝트 초기에 기본적으로 APM | 인프라 모니터링 세팅하자
세미나 5줄 요약
- 상용 모니터링 세팅은 생각보다 쉽다
- 항상 대시보드를 들여다볼 필요는 없다 (배포 전.후, 주간 모니터링, 임계치 알림)
- 비즈니스 로직등 중요한 부분은 로그나 알림을 걸어두자
- 세팅하고 나서는 팀원이 세팅하는 문화가 만들어진다.
- 소 잃고 외양간 고치지 말자